package com.sojson.project.entity.po;

import java.util.Date;
import java.util.List;

import com.sojson.base.impl.BaseDto;
import com.sojson.util.DateUtil;
import com.sojson.util.id.IdUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 用户参加活动Bean
 * 
 * @author liu
 * @date 2021-06-07
 */
@ApiModel("用户参加活动Bean")
public class UserActivity extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1623035818846L;

    @ApiModelProperty("用户参加活动编号")
    private String no;
    @ApiModelProperty("批次编号")
    private String batchNo;
    @ApiModelProperty("活动编号")
    private String activityNo;
    @ApiModelProperty("用户编号")
    private String userNo;
    @ApiModelProperty("奖品类型(1:优惠券)")
    private Integer prizeType;
    @ApiModelProperty("领取方式(1:活动直接领取,2:助力领取)")
    private Integer getMethod;
    @ApiModelProperty("绑定优惠券的编号逗号拼接")
    private String bindCouponNo;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    @ApiModelProperty("ID集合")
    private List<Integer> ids;
    @ApiModelProperty("用户参加活动编号集合")
    private List<String> nos;
    /** 用户参加活动集合 */
    private List<UserActivity> userActivitys;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public UserActivity() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 用户参加活动编号
     */
    @Override
    public String getNo() {
        return no;
    }

    /**
     * 设置 用户参加活动编号
     */
    @Override
    public void setNo(String no) {
        this.no = no;
    }

    /**
     * 获取 批次编号
     */
    public String getBatchNo() {
        return batchNo;
    }

    /**
     * 设置 批次编号
     */
    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo;
    }

    /**
     * 获取 活动编号
     */
    public String getActivityNo() {
        return activityNo;
    }

    /**
     * 设置 活动编号
     */
    public void setActivityNo(String activityNo) {
        this.activityNo = activityNo;
    }

    /**
     * 获取 用户编号
     */
    public String getUserNo() {
        return userNo;
    }

    /**
     * 设置 用户编号
     */
    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }

    /**
     * 获取 奖品类型(1:优惠券)
     */
    public Integer getPrizeType() {
        return prizeType;
    }

    /**
     * 设置 奖品类型(1:优惠券)
     */
    public void setPrizeType(Integer prizeType) {
        this.prizeType = prizeType;
    }

    /**
     * 获取 领取方式(1:活动直接领取,2:助力领取)
     */
    public Integer getGetMethod() {
        return getMethod;
    }

    /**
     * 设置 领取方式(1:活动直接领取,2:助力领取)
     */
    public void setGetMethod(Integer getMethod) {
        this.getMethod = getMethod;
    }

    /**
     * 获取 绑定优惠券的编号逗号拼接
     */
    public String getBindCouponNo() {
        return bindCouponNo;
    }

    /**
     * 设置 绑定优惠券的编号逗号拼接
     */
    public void setBindCouponNo(String bindCouponNo) {
        this.bindCouponNo = bindCouponNo;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取 ID集合
     */
    public List<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 ID集合
     */
    public void setIds(List<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取 用户参加活动编号集合
     */
    public List<String> getNos() {
        return nos;
    }

    /**
     * 设置 用户参加活动编号集合
     */
    public void setNos(List<String> nos) {
        this.nos = nos;
    }

    /**
     * 获取 用户参加活动集合
     */
    public List<UserActivity> getUserActivitys() {
        return userActivitys;
    }

    /**
     * 设置 用户参加活动集合
     */
    public void setUserActivitys(List<UserActivity> userActivitys) {
        this.userActivitys = userActivitys;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     */
    public void insertInit(Activity activity, Date date) {
        setNo(IdUtil.uuid());
        setBatchNo(activity.getBatchNo());
        setActivityNo(activity.getNo());
        setPrizeType(activity.getPrizeType());
        setGetMethod(activity.getGetMethod());
        setBindCouponNo(activity.getBindCouponNo());
        setCreatedAt(date);
        setUpdatedAt(date);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

}